<%--
  Created by IntelliJ IDEA.
  User: Administrator
  Date: 2021/12/3
  Time: 16:14
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>EL表达式的11个隐藏对象</title>
</head>
<body>
<!--
    el表达式的11个隐藏对象,是el表达式中自己定义的,可以直接使用
    变量                  类型                          作用
    pageContext         PageContextImpl         他可以获取jsp中的九大内置对象

    pageScope           Map<String , Object>    他可以获取pageContext域中的数据
    requestScope        Map<String , Object>    他可以获取Request域中的数据
    sessionScope        Map<String , Object>    他可以获取session域中的数据
    applicationScope    Map<String , Object>    他可以获取ServletContext域中的数据

    param               Map<String , String>    他可以获取请求参数的值
    paramValues         Map<String , String[]>  他可以获取请求参数的值,获取多个值的时候使用

    header              Map<String , String>    他可以获取请求头的信息
    headerValues        Map<String , String[]>  他可以获取请求头的信息,他可以获取多个值的情况

    cookie              Map<String , Cookie>    他可以获取当前请求的Cookie信息
    initParam           Map<String , String>    他可以获取在web.xml中配置的<context-param>上下文参数
-->


<!--
1.EL获取四个特定域中的属性
pageScope   ====    pageContext域
requestScope ====  Request域
sessionScope ==== Session域
applicationScope ==== ServletContext域
-->

<%
    pageContext.setAttribute("key1" , "pageContext1");
    pageContext.setAttribute("key2" , "pageContext2");
    request.setAttribute("key1" , "request");
    session.setAttribute("key2" , "session");
    application.setAttribute("key2" , "application");
%>

<!--获取pageContext的域-->
<!--使用这种方式获取对应域中的键的值是非常好的,因为使用传统的key   根本获取不到你想要的值-->
${pageScope.key1}<br/>
${pageScope.key2}<br/>
${requestScope.key1}<br/>
${sessionScope.key2}<br/>
${applicationScope.key2}<br/>




</body>
</html>
